home *** CD-ROM | disk | FTP | other *** search
- /* Unterprogramm für "Noten.pprx" */
-
- signal on halt
- signal on break_c
- signal on break_e
- signal on break_d
- call ppm_SetStyle(N)
-
- noteneingabe:
- /* Kleinster notenabstand */
- sysart = "Notensystemart:2"
- systemart = ppm_Getform("Bitte noch einmal die gewählte Systemart eingeben. (2, 1v oder 1b)", 3, sysart)
- select
- when systemart == '2' then zdist = 4
- when systemart == '1v' then zdist = 2
- when systemart == '1b' then zdist = 2
- otherwise noteneingabe()
- end
- zdist2 = zdist-2
- xgrdform = "(1,2,4,8 oder 16)"
- xgrd = ppm_GetForm("Bitte für den kleinsten Notenwert eingeben ... (NICHTS=ABBRUCH)", 3, xgrdform)
- if xgrd == '' then exit_msg("Abbruch")
- select
- when xgrd == '1' then xg =0.7
- when xgrd == '2' then xg =1.4
- when xgrd == '4' then xg =2.8
- when xgrd == '8' then xg =5.6
- when xgrd == '16' then xg =11.2
- otherwise notenwert()
- end
-
- /* Punktgröße der Noten */
- notepkt = 26
- call ppm_SetJustification(0)
-
- zz = 0 /* Zeilenzähler */
- notex = 0
- notey = 0
- page = ppm_CurrentPage()
-
- clickpos:
- res = ppm_GetUserText(2, "Manuell oder an Box ausrichten ? m/b")
-
- if res == 'M' then res = 'm'
- if res == 'B' then res = 'b'
- select
- when res == 'm' then
- do
- clickpos = ppm_GetClickPosition("Bitte die Stelle anklicken wo ich beginnen soll...")
- if clickpos == 0 then
- do
- exit_msg("Falsche Eingabe !! ENDE !!")
- end
- else
- do
- notey = word(clickpos, 2)
- notex = word(clickpos, 1)
- if notex < 2.5 then notex = 2.5
- xw = notex
- yw = notey
- if systemart ~= '2' then
- do
- if notey <= 3.3 then zz= 0 /* zz ist ZeilenZähler */
- if ((notey > 3.5)&(notey < 5.3)) then zz = 2
- if ((notey > 5.5)&(notey < 7.3)) then zz = 4
- if ((notey > 7.5)&(notey < 9.3)) then zz = 6
- if ((notey > 9.5)&(notey < 11.3)) then zz = 8
- if ((notey > 11.5)&(notey < 13.3)) then zz = 10
- if ((notey > 13.5)&(notey < 15.3)) then zz = 12
- if ((notey > 15.5)&(notey < 17.3)) then zz = 14
- if ((notey > 17.5)&(notey < 19.3)) then zz = 16
- if ((notey > 19.5)&(notey < 21.3)) then zz = 18
- if ((notey > 21.5)&(notey < 23.3)) then zz = 20
- if ((notey > 23.5)&(notey < 25.3)) then zz = 22
- if notey > 25.3 then noteneingabe()
- end
- else
- do
- if notey <= 3.3 then zz= 0
- if ((notey > 5.5)&(notey < 7.3)) then zz = 4
- if ((notey > 9.5)&(notey < 11.3)) then zz = 8
- if ((notey > 13.5)&(notey < 15.3)) then zz = 12
- if ((notey > 17.5)&(notey < 19.3)) then zz = 16
- if ((notey > 21.5)&(notey < 23.3)) then zz = 20
- end
- end
-
- end
- when res == 'b' then
- do
- clickbox = ppm_ClickOnBox("Bitte eine Box anklicken, an der Stelle, wo es weitergeht ...")
- pos = ppm_GetBoxPosition(clickbox)
- notex = word(pos, 1)
- notey = word(pos, 2)
- xw = notex
- yw = notey
- call ppm_BoxAtPosn(notex, notey, page)
- if notey <= 3.3 then zz= 0
- if ((notey > 5.5)&(notey < 9.3)) then zz = 4
- if ((notey > 9.5)&(notey < 13.3)) then zz = 8
- if ((notey > 13.5)&(notey < 17.3)) then zz = 12
- if ((notey > 17.5)&(notey < 21.3)) then zz = 16
- if ((notey > 21.5)&(notey < 25.3)) then zz = 20
-
- if notex <= 1 then
- do
- noteneingabe()
- end
- end
- otherwise clickpos()
- end
-
-
- /* Zeigerbox */
-
- zbid = ppm_CreateBox(notex, zz+0.5, 0.3, 1, 0)
- call ppm_SetSize(26)
- zbn = ppm_GetBoxName(zbid)
- call ppm_TextIntoBox(zbn, '5')
-
-
- notenwert:
-
- do forever
- cr = '0a'x
- form = "Wert Name ['A'ufl.]"
- call ppm_SetBoxPosition(zbid, notex, zz+0.5)
- call ppm_UpdateScreen()
- eingabe = ppm_GetForm("Bitte für die Noten eingeben ...(nichts=Abbruch) ", 7, form)
- if eingabe = '' then
- do
- call ppm_DeleteBox(zbid)
- exit_msg()
- end
- nw = word(eingabe, 1)
- nn = word(eingabe, 2)
- if nw == 'P' then nw = 'p'
- al = word(eingabe, 3)
- if al == 'A' then al = 'a'
- IF nw == 'D' then nw = 'd'
- if nw == 'LEFT' then nw = 'left'
- if nw == 'L' then nw = 'l'
- if nw == 'T' then nw = 't'
- if nn == 'T' then nn = 't'
- if nw == "NEU" then nw = "neu"
-
- select
- when nn=='GB2' then nn = 'Gb2'
- when nn=='AB2' then nn = 'Ab2'
- when nn=='DB3' then nn = 'Db3'
- when nn=='EB3' then nn = 'Eb3'
- when nn=='GB3' then nn = 'Gb3'
- when nn=='AB3' then nn = 'Ab3'
- when nn=='DB4' then nn = 'Db4'
- when nn=='EB4' then nn = 'Eb4'
- when nn=='GB4' then nn = 'Gb4'
- when nn=='AB4' then nn = 'Ab4'
- when nn=='DB5' then nn = 'Db5'
- when nn=='EB5' then nn = 'Eb5'
- otherwise NOP
- end
-
- /* x-Abstände der Noten zueinander */
- select
- when nw=='s' then
- do
- xw = xg/16
- nw='x'
- yv = 0
- end
- when nw=='S' then
- do
- xw = xg/16
- nw='X'
- yv = 0.47
- end
- when nw=='a' then
- do
- xw = xg/8
- nw='e'
- yv = 0
- end
- when nw=='A' then
- do
- xw = xg/8
- nw='E'
- yv = 0.47
- end
- when nw=='v' then
- do
- xw = xg/4
- nw='q'
- yv = 0
- end
- when nw=='V' then
- do
- xw = xg/4
- nw='Q'
- yv = 0.47
- end
- when nw=='h' then
- do
- xw = xg/2
- yv = 0
- end
- when nw=='H' then
- do
- xw = xg/2
- yv = 0.47
- end
- when nw=='g' then
- do
- xw = xg
- nw='w'
- yv = 0
- end
- when nw=='G' then
- do
- xw = xg
- nw='W'
- yv = 0.47
- end
-
- /* Sprung an den Anfang der Zeile */
- when nw == 'left' then
- do
- call ppm_SetPagePosition(0, zz+1)
- end
-
- /* Punkt nach der Note - muß als erstes eingegeben werden falls gewünscht
- den nötigen Freiraum mit "sp" eingeben */
-
- when nw == 'pk' then
- do
- if notex < 3 then
- do
- notex = bakx
- zz = zz - zdist
- call ppm_SetSize(25)
- box#id = ppm_CreateBox(notex+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'd')
- end
- else
- do
- call ppm_SetSize(25)
- box#id = ppm_CreateBox(notex-xw+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'd')
- end
- select
- when nn == '1' then
- do
- xw = xg
- notex = notex+xw
- end
- when nn == '2' then
- do
- xw = xg/2
- notex = notex+xw
- end
- when nn == '4' then
- do
- xw = xg/4
- notex = notex+xw
- end
- when nn == '8' then
- do
- xw = xg/8
- notex = notex+xw
- end
- when nn == '16' then
- do
- xw = xg/16
- notex = notex+xw
- end
- when nn == 't' then
- do
- xw = 0.2
- notex = notex+xw
- end
- otherwise notenwert()
- end
- if notex >=18.7 then
- do
- notex = 2.5
- zz = zz + zdist
- end
- px = notex - 4
- py = zz-1
- if px < 0 then px = 0
- call ppm_SetPagePosition(px, py+2)
- notenwert()
- end
-
- when nw == 'PK' then
- do
- if notex < 3 then
- do
- notex = bakx
- zz = zz - zdist
- call ppm_SetSize(25)
- box#id = ppm_CreateBox(notex+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'd')
- end
- else
- do
- call ppm_SetSize(25)
- box#id = ppm_CreateBox(notex-xw+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'd')
- end
- select
- when nn == '1' then
- do
- xw = xg
- notex = notex+xw
- end
- when nn == '2' then
- do
- xw = xg/2
- notex = notex+xw
- end
- when nn == '4' then
- do
- xw = xg/4
- notex = notex+xw
- end
- when nn == '8' then
- do
- xw = xg/8
- notex = notex+xw
- end
- when nn == '16' then
- do
- xw = xg/16
- notex = notex+xw
- end
- when nn == 't' then
- do
- xw = 0.2
- notex = notex+xw
- end
- otherwise notenwert()
- end
- if notex >=18.7 then
- do
- notex = 2.5
- zz = zz + zdist
- end
- px = notex - 4
- py = zz-1
- if px < 0 then px = 0
- call ppm_SetPagePosition(px, py+2)
- notenwert()
- end
-
- /* Löschen */
- when nw == 'd' then
- do
- oldpos = notex
- thisbox = ppm_BoxNum()
- if thisbox == zbid then
- do
- ppm_Inform(1, "Nichts mehr zu löschen!","OK")
- notenwert()
- end
- lpos= ppm_GetBoxPosition()
- notex = word(lpos, 1)
- call ppm_DeleteBox()
- diff = oldpos - notex
- if diff<0 then notenwert()
- if (diff < 0.3)&(diff > 0.1) then notex = notex + 0.23
- py = zz - 1
- px = notex - 4
- if px < 0 then px = 0
- call ppm_SetPagePosition(px, py+2)
- notenwert()
- end
-
- /* Taktstrich */
- when nw == 't' then
- do
- call ppm_SetLineWeight(0.25)
- call ppm_DrawLine(notex, 2+zz, notex, 2.8+zz)
- notex = notex+0.2
- end
-
- /* Pausen */
- when nw == 'p' then
- do
- pausenwert:
- /* wert = ppm_GetForm("1/1 1/2 1/4 1/8 1/16 ...?", 2, "1 , 2, 4, 8, 16") */
- x = notex
- select
- when nn== '1' then do
-
- y = 2.28+zz
- call ppm_SetLineWeight(4)
- call ppm_DrawLine(x, y, x+0.4, y)
- call ppm_SetLineWeight(0.25)
- xw = xg
- notex = notex+xw
- end
-
- when nn== '2' then do
-
- y = 2.32+zz
- call ppm_SetLineWeight(4)
- call ppm_DrawLine(x, y, x+0.4, y)
- call ppm_SetLineWeight(0.25)
- xw = xg/2
- notex = notex+xw
- end
-
- when nn== '4' then do
-
- y = 2.07+zz
- Pbox = ppm_CreateBox(x, y, 0.59, 0.86, 0)
- boxnm = ppm_DocNextBox(Pbox)
- call ppm_DeleteContents(boxnm)
- call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/viertelPause', pause)
- xw = xg/4
- notex = notex+xw
- end
-
- when nn== '8' then do
-
- y = 2.21+zz
- Pbox = ppm_CreateBox(x, y, 0.27, 0.42, 0)
- boxnm = ppm_DocNextBox(Pbox)
- call ppm_DeleteContents(boxnm)
- call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/achtelPause', pause)
- xw = xg/8
- notex = notex+xw
- end
-
- when nn== '16' then do
-
- y = 2.21+zz
- Pbox = ppm_CreateBox(x, y, 0.27, 0.42, 0)
- boxnm = ppm_DocNextBox(Pbox)
- call ppm_DeleteContents(boxnm)
- call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/sechzehntelPause', pause)
- xw = xg/16
- notex = notex+xw
- end
- otherwise notenwert()
- end
- if notex >=18.7 then
- do
- notex = 2.5
- zz = zz + zdist
- end
- px = notex - 4
- py = zz-1
- if px < 0 then px = 0
- call ppm_SetPagePosition(px, py+2)
- notenwert()
- end
-
- when nw == 'l' then
- do
- /* wert = ppm_GetForm("1/1 1/2 1/4 1/8 1/16 ...?", 2, "1 , 2, 4, 8, 16") */
- select
-
- when nn== '1' then
- do
- xw = xg
- notex = notex+xw
- end
- when nn== '2' then
- do
- xw = xg/2
- notex = notex+xw
- end
- when nn== '4' then
- do
- xw = xg/4
- notex = notex+xw
- end
- when nn== '8' then
- do
- xw = xg/8
- notex = notex+xw
- end
- when nn== '16' then
- do
- xw = xg/16
- notex = notex+xw
- end
- when nn == 't' then
- do
- xw = 0.2
- notex = notex+xw
- end
- otherwise notenwert()
- end
- if notex >=18.7 then
- do
- notex = 2.5
- zz = zz + zdist
- end
- px = notex - 4
- py = zz-1
- if px < 0 then px = 0
- call ppm_SetPagePosition(px, py+2)
- notenwert()
- end
-
- when nw == 'neu' then
- do
- call ppm_DeleteBox(zbid)
- clickpos()
- end
- otherwise notenwert()
- end
-
-
- /* y-Raster der Noten - Notenhälse nach oben (y-Position der Box) */
-
- call ppm_SetLineWeight(0.25)
-
- select
- when nn=='f#5' then
- do
- yw = 0.645
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
- end
- when nn=='f5' then
- do
- yw = 0.645
- if al == 'a' then call auflhoch()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
- end
- when nn=='e5' then
- do
- yw = 0.745
- if al == 'a' then call auflhoch()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
- end
- when nn=='eb5' then
- do
- yw = 0.745
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
- end
- when nn=='d#5' then
- do
- yw = 0.845
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
- when nn=='d5' then
- do
- yw = 0.845
- if al == 'a' then call auflhoch()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
- when nn=='db5' then
- do
- yw = 0.845
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
- when nn=='c#5' then
- do
- yw = 0.945
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
- when nn=='c5' then
- do
- yw = 0.945
- if al == 'a' then call auflhoch()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
-
- when nn=='h4' then
- do
- yw = 1.045
- if al == 'a' then call auflhoch()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- end
-
- when nn=='b4' then
- do
- yw = 1.045
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- end
-
- when nn=='a#4' then
- do
- yw = 1.145
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- end
-
- when nn=='a4' then
- do
- yw = 1.145
- if al == 'a' then call auflhoch()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- end
-
- when nn=='ab4' then
- do
- yw = 1.145
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- end
-
- when nn=='g#4' then
- do
- yw = 1.245
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='g4' then
- do
- yw = 1.245
- if al == 'a' then call auflhoch()
- end
- when nn=='gb4' then
- do
- yw = 1.245
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='f#4' then
- do
- yw = 1.345
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='f4' then
- do
- yw = 1.345
- if al == 'a' then call auflhoch()
- end
- when nn=='e#4' then
- do
- yw = 1.445
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='e4' then
- do
- yw = 1.445
- if al == 'a' then call auflhoch()
- end
- when nn=='eb4' then
- do
- yw = 1.445
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='d#4' then
- do
- yw = 1.545
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='d4' then
- do
- yw = 1.545
- if al == 'a' then call auflhoch()
- end
- when nn=='db4' then
- do
- yw = 1.545
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='c#4' then
- do
- yw = 1.645
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='c4' then
- do
- yw = 1.645
- if al == 'a' then call auflhoch()
- end
- when nn=='h3' then
- do
- yw = 1.745
- if al == 'a' then call auflhoch()
- end
- when nn=='b3' then
- do
- yw = 1.745
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='a#3' then
- do
- yw = 1.845
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='a3' then
- do
- yw = 1.845
- if al == 'a' then call auflhoch()
- end
- when nn=='ab3' then
- do
- yw = 1.845
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='g#3' then
- do
- yw = 1.945
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='g3' then
- do
- yw = 1.945
- if al == 'a' then call auflhoch()
- end
- when nn=='gb3' then
- do
- yw = 1.945
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='f#3' then
- do
- yw = 2.045
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='f3' then
- do
- yw = 2.045
- if al == 'a' then call auflhoch()
- end
- when nn=='e#3' then
- do
- yw = 2.145
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='e3' then
- do
- yw = 2.145
- if al == 'a' then call auflhoch()
- end
- when nn=='eb3' then
- do
- yw = 2.145
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='d#3' then
- do
- yw = 2.245
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='d3' then
- do
- yw = 2.245
- if al == 'a' then call auflhoch()
- end
- when nn=='db3' then
- do
- yw = 2.245
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
-
- when nn=='c#3' then
- do
- yw = 2.345
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- end
-
- when nn=='c3' then
- do
- yw = 2.345
- if al == 'a' then call auflhoch()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- end
-
- when nn=='h2' then
- do
- yw = 2.445
- if al == 'a' then call auflhoch()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- end
-
- when nn=='b2' then
- do
- yw = 2.445
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- end
-
- when nn=='a#2' then
- do
- yw = 2.545
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='a2' then
- do
- yw = 2.545
- if al == 'a' then call auflhoch()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='ab2' then
- do
- yw = 2.545
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='g#2' then
- do
- yw = 2.645
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='g2' then
- do
- yw = 2.645
- if al == 'a' then call auflhoch()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
-
- when nn=='gb2' then
- do
- yw = 2.645
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='f#2' then
- do
- yw = 2.745
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
- end
-
- when nn=='f2' then
- do
- yw = 2.745
- if al == 'a' then call auflhoch()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
- end
-
- when nn=='e2' then
- do
- yw = 2.845
- if al == 'a' then call auflhoch()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
- end
-
-
- /* y-Raster der Noten - Notenhälse nach unten */
- when nn=='F#5' then
- do
- yw = 1.12
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
- end
- when nn=='F5' then
- do
- yw = 1.12
- if al == 'a' then call aufltief()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
- end
- when nn=='E5' then
- do
- yw = 1.22
- if al == 'a' then call aufltief()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
- end
- when nn=='Eb5' then
- do
- yw = 1.22
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
- end
- when nn=='D#5' then
- do
- yw = 1.32
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
- when nn=='D5' then
- do
- yw = 1.32
- if al == 'a' then call aufltief()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
- when nn=='Db5' then
- do
- yw = 1.32
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
- when nn=='C#5' then
- do
- yw = 1.42
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
-
- when nn=='C5' then
- do
- yw = 1.42
- if al == 'a' then call aufltief()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
-
- when nn=='H4' then
- do
- yw = 1.52
- if al == 'a' then call aufltief()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- end
-
- when nn=='B4' then
- do
- yw = 1.52
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- end
-
- when nn=='A#4' then
- do
- yw = 1.62
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- end
-
- when nn=='A4' then
- do
- yw = 1.62
- if al == 'a' then call aufltief()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- end
-
- when nn=='Ab4' then
- do
- yw = 1.62
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- end
-
- when nn=='G#4' then
- do
- yw = 1.72
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='G4' then
- do
- yw = 1.72
- if al == 'a' then call aufltief()
- end
- when nn=='Gb4' then
- do
- yw = 1.72
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='F#4' then
- do
- yw = 1.82
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='F4' then
- do
- yw = 1.82
- if al == 'a' then call aufltief()
- end
- when nn=='E#4' then
- do
- yw = 1.92
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='E4' then
- do
- yw = 1.92
- if al == 'a' then call aufltief()
- end
- when nn=='Eb4' then
- do
- yw = 1.92
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='D#4' then
- do
- yw = 2.02
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='D4' then
- do
- yw = 2.02
- if al == 'a' then call aufltief()
- end
- when nn=='Db4' then
- do
- yw = 2.02
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='C#4' then
- do
- yw = 2.12
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='C4' then
- do
- yw = 2.12
- if al == 'a' then call aufltief()
- end
- when nn=='H3' then
- do
- yw = 2.22
- if al == 'a' then call aufltief()
- end
- when nn=='B3' then
- do
- yw = 2.22
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='A#3' then
- do
- yw = 2.32
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='A3' then
- do
- yw = 2.32
- if al == 'a' then call aufltief()
- end
-
- when nn=='Ab3' then
- do
- yw = 2.32
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='G#3' then
- do
- yw = 2.42
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='G3' then
- do
- yw = 2.42
- if al == 'a' then call aufltief()
- end
- when nn=='Gb3' then
- do
- yw = 2.42
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='F#3' then
- do
- yw = 2.52
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='F3' then
- do
- yw = 2.52
- if al == 'a' then call aufltief()
- end
- when nn=='E#3' then
- do
- yw = 2.62
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='E3' then
- do
- yw = 2.62
- if al == 'a' then call aufltief()
- end
- when nn=='Eb3' then
- do
- yw = 2.62
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='D#3' then
- do
- yw = 2.72
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='D3' then
- do
- yw = 2.72
- if al == 'a' then call aufltief()
- end
- when nn=='Db3' then
- do
- yw = 2.72
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
-
- when nn=='C#3' then
- do
- yw = 2.82
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- end
-
- when nn=='C3' then
- do
- yw = 2.82
- if al == 'a' then call aufltief()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- end
-
- when nn=='H2' then
- do
- yw = 2.92
- if al == 'a' then call aufltief()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- end
-
- when nn=='B2' then
- do
- yw = 2.92
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- end
-
- when nn=='A#2' then
- do
- yw = 3.02
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='A2' then
- do
- yw = 3.02
- if al == 'a' then call aufltief()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='Ab2' then
- do
- yw = 3.02
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='G#2' then
- do
- yw = 3.12
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='G2' then
- do
- yw = 3.12
- if al == 'a' then call aufltief()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='Gb2' then
- do
- yw = 3.12
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='F#2' then
- do
- yw = 3.22
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
- end
-
- when nn=='F2' then
- do
- yw = 3.22
- if al == 'a' then call aufltief()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
- end
-
- when nn=='E2' then
- do
- yw = 3.32
- if al == 'a' then call aufltief()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
- end
- otherwise notenwert()
- end
-
-
- /* größe einer Notenbox */
- notewidht = 0.64
- noteheight = 0.97
-
-
- boxid = ppm_CreateBox(notex, yw+zz, notewidht, noteheight, 0)
- call ppm_SetSize(notepkt)
- call ppm_TextIntoBox(boxid, nw)
- bakx = notex
- notex = (notex + xw)
- if notex >=18.7 then
- do
- notex = 2.5
- zz = zz + zdist
- end
- px = notex - 4
- py = zz-1
- if px < 0 then px = 0
- call ppm_SetPagePosition(px, py+2)
- end
- end
- exit
-
- auflhoch:
- do
- Pbox = ppm_CreateBox(notex-0.34, yw+zz+0.07, 0.6, 1.2, 0)
- boxnm = ppm_DocNextBox(Pbox)
- call ppm_DeleteContents(boxnm)
- call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/Auflsng', Zeichen)
- return
- end
-
- aufltief:
- do
- Pbox = ppm_CreateBox(notex-0.34, yw+zz-0.4, 0.6, 1.2, 0)
- boxnm = ppm_DocNextBox(Pbox)
- call ppm_DeleteContents(boxnm)
- call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/Auflsng', Zeichen)
- return
- end
-
- break_d:
- break_e:
- break_c:
- halt:
- call exit_msg("User aborted Genie!")
-
-
- exit_msg: procedure
- do
- parse arg message
-
- if message ~= '' then
- call ppm_Inform(1,message,)
-
- call ppm_ClearStatus()
- call ppm_AutoUpdate(1)
- exit
- end
-